package com.sright.bcard.content.dal.dao;

import com.sright.bcard.common.service.share.base.dao.BaseDAO;
import com.sright.bcard.common.service.share.dto.page.BetweenDateParamRequest;
import com.sright.bcard.common.service.share.dto.page.PageParamRequest;
import com.sright.bcard.content.dal.entity.CardUserInfoDO;
import com.sright.bcard.content.dal.result.UserDetailResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CardUserInfoDAO extends BaseDAO<CardUserInfoDO> {
    List<CardUserInfoDO> selectByUserId(Long userId);
    Integer countOfCardUserInfo(@Param("checkStatus") Integer checkStatus,
                                       @Param("between") BetweenDateParamRequest betweenDateParamRequest);

    List<CardUserInfoDO> selectOfCardUserInfo(@Param("checkStatus") Integer checkStatus,
                                                     @Param("between") BetweenDateParamRequest betweenDateParamRequest,
                                                     @Param("page") PageParamRequest pageParamRequest);

    CardUserInfoDO selectOneByUserId(Long userId);

    UserDetailResult userDetail(Long id);
}
